package com.xquant.common.log.annotation;


import com.xquant.common.log.enums.BusinessType;
import com.xquant.common.log.enums.ImportActionType;
import com.xquant.common.log.enums.ImportOptionType;
import com.xquant.common.log.enums.OperatorType;

import java.lang.annotation.*;

/**
 * 自定义导入日志记录注解
 *
 * @author cloud
 *
 */
@Target({ ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ImportLog {

    /**
     * 导入类型
     */
    public ImportActionType actionType() default ImportActionType.OTCOPTIONTRADE;

    /**
     * 操作类型
     */
    public ImportOptionType optionType() default ImportOptionType.HAND;

    /**
     * 业务编码对应的get方法名
     */
    public String businNoMethod() default "";

    /**
     * 业务编码在日志中是否唯一
     * 唯一的标准：同businessno以及同actionType
     * @return
     */
    public boolean unique() default false;

    /**
     * 操作人
     * 当自动导入的时候给 ”1“， 非自动导入为 "";
     * @return
     */
    public String userId() default "";

}
